﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//这两个子类都去重写父类的GetArea()方法，各自去实现计算自己的面积。

//在主类中添加一个方法，参数类型就是Shape，方法体中，用形参去调用GetArea()方法。main方法中去测试这个方法。
namespace Colour
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("你要求的是什么");
            Console.WriteLine("1 圆    2 正方形");
            int RR = int.Parse(Console.ReadLine());
            switch (RR)
            {
                case 1:
                    Circle CC = new Circle();
                    CC.GetArea();
                    break;
                case 2:
                    Square SS = new Square();
                    SS.GetArea();
                    break;
            }
            Console.ReadKey();
        }
    }
    class Shape
    {
        protected string color;//储存颜色
        public string Color
        {
            get { return this.color; }
            set { this.color = value; }
        }
        public Shape(string Color)
        {
            this.color = Color;
        }
        public Shape() { }
        public virtual void GetArea() //这个方法是用来获取形状面积的
        {
            Console.WriteLine("请输入边长或者半径");
        }
    }
    class Circle : Shape//圆形类
    {
        protected double Radius;//半径
        public override void GetArea()
        {
            base.GetArea();
            Radius = double.Parse(Console.ReadLine());
            double MJ = 3.14 * Radius * Radius;
            Console.WriteLine("它的面积为：{0}",MJ);
        }
    }
    class Square : Shape //正方形类
    {
        protected int SideLen;
        public override void GetArea()
        {
            base.GetArea();
            SideLen = int.Parse(Console.ReadLine());
            double MJ = SideLen * SideLen;
            Console.WriteLine("它的面积为：{0}", MJ);
        }
    }
}
